home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 3 / BBS in a box - Trilogy III.iso / Files / Prog / Q-R / RIFF File Format / RIFF.h < prev    next >
Encoding:
C/C++ Source or Header  |  1987-07-12  |  1.1 KB  |  58 lines  |  [TEXT/KAHL]

  1. /*
  2. MOD 07-12-87 MAZ - standard RIFF header typedefs and defines
  3. */
  4.  
  5. /* header of a RIFF file */
  6. typedef struct
  7.     {
  8.     Fixed revnum;
  9.     short nrows;
  10.     short ncols;
  11.     short flags;
  12.     short storage_type;
  13.     short nsamples;
  14.     long chunks[4];
  15.     short resolution;
  16.     char reserved[32];
  17.     } RIFF_header;
  18.  
  19. /* header for a scanline in a compressed file */
  20. typedef struct
  21.     {
  22.     char tag;
  23.     char byte_zero;
  24.     short record_count;
  25.     } scan_header;
  26.  
  27. /* header for the run-length encoded (RLE) records */
  28. typedef struct
  29.     {
  30.     char subtag;
  31.     unsigned char count;
  32.     } RLE_header;
  33.  
  34. /* RIFF revision numbers */
  35. #define RIFF_rev1_0                0x00010000L
  36. #define RIFF_rev1_1                0x00011000L
  37.  
  38. /* flags bitmasks for RIFFheader flags field */
  39. #define hf_uncompressed        0x0001
  40. #define hf_transfer            0x0002
  41.  
  42. /* values for the RIFFheader storage_type field */
  43. #define st_gray                0
  44. #define st_vlt                1
  45. #define st_rgb                2
  46. #define st_hsv                3
  47. #define st_cmy                4
  48. #define st_cmyk                5
  49.  
  50. /* scan_header tag values */
  51. #define sf_compressed        0
  52. #define sf_uncompressed        1
  53. #define sf_RLE                2
  54.  
  55. /* RLE_header subtag values */
  56. #define st_data                0
  57. #define st_run                1
  58.